1. Technical Field
The present invention relates generally to Web services architecture. In particular, the present invention provides a method and apparatus for registry lookup of Web services. Still more particularly, the present invention provides a method and apparatus for alternative registry lookup of Web services without impacting existing client implementation.
2. Description of Related Art
In recent years, the use of Internet has greatly increased as more consumers are connecting to the World Wide Web. As a result, consumers demand a wider variety of services to be available online. In order to meet this demand, vendors make their services available by using a mechanism called Web services.
Generally, Web services are services offered by one application, such as a vendor Web site, to other applications, such as consumer applications, via the World Wide Web. By obtaining Web services, consumer or client applications may aggregate these services to enable business transactions. An example Web service may be a client requesting a stock quote online, in which the request of the current price for a specific stock is sent from the client application to a service provider. This request is sent to a given universal resource locator (URL) using common networking communication protocols, such as, for example, simple object access protocol (SOAP) and hypertext transfer protocol (HTTP). The URL identifies the location of the service provider or the service endpoint location. When the service provider receives and processes the request, a response is sent from the service provider using similar protocols to the client application. In this example, the stock price for the requested stock is returned to the client application.
In order to make their services available for client applications, service providers define abstract service descriptions using a language called Web Services Description Language (WSDL), a language specification available from the World Wide Web Consortium (W3C). WSDL provides definition of a service endpoint in the form of a markup language. A concrete service, known as the concrete service description, is created using the abstract service description in WSDL. Service providers may then publish the concrete service description to a registry, such as, for example, a universal description, discovery and integration (UDDI). Using a registry mechanism like UDDI, a service requester locates a service description from which the requestor selects and uses a concrete implementation of the service.
Currently, existing client applications locate service providers in a registry dynamically. Even when a URL of the service provider changes, in failover situations, or multiple implementations of WSDL port type exist for a client to potentially use, a client application may still locate the service provider, but only if custom coding for dynamic lookup is incorporated into the client application explicitly. No standardized mechanism specifying where and how to look up an endpoint location for a Web service currently exists.
Existing lookup mechanisms, such as, for example, Java API for XML registries (JAXR) and UDDI for Java (UDDI4J), require developers of client applications to perform registry lookup each time a service is requested. This repetitive lookup uses machine resources for each lookup and adds to the client execution time as additional requests are sent from the client application. In addition, changes to existing client application implementation are required when location of the service endpoint changes.
Furthermore, existing lookup and registry mechanisms conflict with other solutions, such as, for example, Java API for XML-based remote procedure call (JAX-RPC) and Web services for Java 2 enterprise editor (JSR-109), products available from Sun Microsystems, Inc. These mechanisms use a naming and directory technology called Java naming and directory interface (JNDI) application programming interface (API), which provides methods for client applications to access Web services.
Therefore, it would be advantageous to have an improved method, apparatus and computer instructions for alternative registry lookup of Web services without impacting existing client implementation. It would also be advantageous to have an improved method that leverages existing standards like JAX-RPC and J2EE Web services.